This page last changed on Aug 16, 2012 by headley.

Phytex LPC3250 uses u-boot with its own stage-1 bootloader.
Here's how to build u-boot image

Build U-boot
===================
    •    Get the u-boot-2009.03.tar.bz2 source code from ftp://ftp.denx.de/pub/u-boot/u-boot-2009.03.tar.bz2 site.
    •    Untar the u-boot the sources.

$ cd ../uboot
$ tar -xjf ../downloads/u-boot-2009.03.tar.bz2

  •    Build u-boot

$ cd projects/u-boot/u-boot-2009.03
$ make phy3250_config (or use ea3250_config for Embedded Artists boards, or fdi3250_config for Future Designs boards)
Configuring for FIXME board...
$ make

•    Get the latest u-boot-2009.03 patch from the (lpclinux.com) downloads tab and place it in the patches directory. Note the u-boot patch filename may be different than shown here.
•    Untar the patch and apply the LPC32x0 uboot patch to the source code.

$ cd ../downloads
$ tar xf u-boot-lpc313x-2009.03.patch.tar.bz2
$ cd ../u-boot/u-boot-2009.03
$ patch -p1 < ../../downloads/u-boot-lpc32x0-2009.03.patch

•    Prior to building u-boot, add the ELDK tool binaries to your path. From the bash shell:

$ cd ../../../
$ source eldk42/eldk_init arm

•    Build u-boot

$ cd projects/u-boot/u-boot-2009.03
$ make phy3250_config (or use ea3250_config for Embedded Artists boards, or fdi3250_config for Future Designs boards)
Configuring for FIXME board...
$ make

•   You can also build u-boot using the following command without modifying the environment.

$ make ARCH=arm CROSS_COMPILE=<Toolchain path>/arm-linux-gnu distclean
$ make phy3250_config
$ make ARCH=arm CROSS_COMPILE=<Toolchain pat>/arm-linux-gnu-

    •    Once the build completes, the u-boot binary image for deployment can be found at

uboot/u-boot-2009.03/u-boot.bin

========
A working u-boot config
[will need to change IP addresses, etc. - it is possible to use DHCP]
========

To enter U-Boot, hit a key during the u-boot loader sequence.

Useful commands:

  • printenv
  • setenv
bootdelay=3
baudrate=115200
rootpath=/home/user/ltib/rootfs
loadaddr=0x80100000
nfsboot=setenv bootargs console=ttyS0,115200n8 root=/dev/nfs3 rw nfsroot=${serverip}:${rootpath} ip=${ipad
dr} ethaddr=${ethaddr}
ramdiskboot=setenv bootargs console=ttyS0,115200n8 root=/dev/ram0 rw ip=${ipaddr} ethaddr=${ethaddr}
tftpstatickernel=tftpboot ${loadaddr} ${serverip}:${bootfile}
tftpdhcpkernel=dhcp
mtdkernel=nboot.jffs2 ${loadaddr} 0 0x00204000
mtdkernelburn=nand erase 0x00204000 0x00400000;nand write.jffs2 ${loadaddr} 0x00204000 0x00400000
rootfile=rootfs.jffs2
rootloadaddr=0x82000000
tftpstaticloadroot=tftpboot ${rootloadaddr} ${serverip}:${rootfile}
tftpdhcploadroot=dhcp ${rootloadaddr} ${serverip}:${rootfile}
ramdiskload=nand read.jffs2 ${rootloadaddr} 0x00604000 ${rootloadsize}
bootargs=console=ttyS0,115200n8 root=/dev/nfs3 rw nfsroot=192.168.1.41:/home/user/ltib/rootfs ip=192.168.1
.101 ethaddr=00:50:C2:A5:BB:A8
autoload=no
bootfile=uImage
bootcmd=run mtdboot; run mtdkernel; bootm $(loadaddr)
mtdboot=setenv bootargs console=ttyS0,115200n8 root=/dev/mtdblock4 rw rootfstype=jffs2 ip=134.89.11.120 in
it=/sbin/init ethaddr=00:50:C2:A5:BB:A8
mtdrootburn=nand erase 0x00604000 0x039FC000; nand write.jffs2 ${rootloadaddr} 0x00604000 ${rootloadsize}
filesize=640000
fileaddr=82000000
gatewayip=134.89.10.1
netmask=255.255.254.0
ipaddr=134.89.11.120
serverip=134.89.11.121
rootloadsize=0x640000
stdin=serial
stdout=serial
stderr=serial
ethaddr=00:50:C2:A5:BB:A8
Document generated by Confluence on Feb 03, 2026 14:29